package com.yuedou.api.service.product;

import com.yuedou.api.entity.product.Product;
import com.yuedou.api.service.base.BaseService;

import java.util.List;
import java.util.Map;

public interface ProductService extends BaseService<Product> {


    /**
     *  添加商品
     * @param product  商品信息
     * @param save_index 保存的索引
     * @param mer_id 商家id
     * @return
     */
    long addProduct(Product product,int save_index,int mer_id);


    /**
     * 获取生成的属性
     * @param id 商品id
     * @param jsonStr jsonStr
     * @return map
     */
    Map<String,Object> getFormatAttr(Long id, String jsonStr, boolean isActivity, Integer isReset);


    /**
     * 根据商品id 获取商品信息
     * @param id
     * @return
     */
    Product getProductInfoById(Integer id, Integer isSimple);


    /**
     * 根据 订单信息 获取第一个商品信息
     * @param orderId
     * @return
     */
    Product getProductByOrderId(Long orderId);

    /**
     * 分页查询商品列表
     * @param productTypeId
     * @param pageIndex
     * @param pageSize
     * @return
     */
    List<Product> queryProductList(String productName,int productTypeId,int mer_id,int state, int is_mer, String platform,int pageIndex, int pageSize);


    /**
     * 分页查询商品列表
     * @param productTypeId
     * @param pageIndex
     * @param pageSize
     * @return
     */
    List<Product> queryMerProductList(String productName,int productTypeId,int mer_id, int table_id,int order_id,int pageIndex, int pageSize, int isSimple);


    /**
     * 搜索
     * @param productName
     * @return
     */
    List<Product> queryProductList(String productName,Integer isHot, int cateId, int cateChildId, String platform,int pageIndex, int pageSize);

    /**
     *  商家服务列表（商品）
     * @param seller_id
     * @return
     */
    List<Product> queryProductList(Integer seller_id,int limit);


    /**
     *  重置图片
     */
    void resetImg();


}
